Network-based conference system

ABSTRACT

A management and control unit for a network-based conferencing system has an interface for outputting control signals to a platform for establishing audio connections across a network between users. Another interface receives control signals from a platform for providing a graphical user interface to a user, for use in controlling the conferencing system. The unit has access to a database for maintaining management data relating to one or more existing conferences. The management and control unit receives control signals input by a user at the graphical user interface in respect of an audio conference, and outputs control signals to the platform for establishing audio connections. An audio conference can thus be established between the user and at least two other users over the network. Management data can be transmitted to the graphical user interface during a conference for use in managing the conference.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to management of network-based conferencesystems and finds particular application in audio-conferencing with ascreen-based user interface.

2. Related Art

Although the majority of telephony based traffic is between just twoparties, the technology to provide an audio mix between a larger numberof people has existed on public telephone networks for several years.Commercial services allowing 3-way conferencing are available to usersof digital exchanges and services which allow tens or even hundreds ofusers to be connected into an audioconference via operator control alsoexist. Telephony based audio conferencing now provides high qualityaudio for groups of 10 or more and it is cheaper and less intrusive thanvideo conferencing; noise reduction algorithms have meant that the soundquality is increasingly good. On the other hand audio conferencingsystems tend to be either expensive or awkward to use since they requireeither the memorisation of arcane dual tone multi-frequency (DTMF)control codes or that users should set up the conference via anoperator.

Telephony, or telecommunications, in this context is the type ofcommunication which can be provided by means of a switch-based networkand usually involves the establishment of a particular route through anetwork between terminals, a connection, by means of a set-up procedure.Communication for the course of a communication session, such as atelephone call, follows the same route through the network between theterminals. The connection is then cleared down at the end of thecommunications session. This is in contrast to a data network of thetype in which packets of data may take different routes across thenetwork and have to be reassembled in a correct order at a receivingterminal.

Internet based audio conferencing applications have started to becomeavailable. They allow groups of people anywhere in the world to talk toeach other using packet switched protocols such as Remote ProcedureCalls (RPC). These systems allow conferences to be set up and controlledrelatively easily via a graphical user interface. This communicates witha server based application which controls which people can talk to eachother. Users can see text labels or images which represent boththemselves and other users and can take advantage of the relativelyintuitive and powerful control and feedback facets of a graphical userinterface. Many of these systems follow a ‘rooms’ based metaphor inwhich each conference takes place in a room. Users can wander from roomto room taking part in conversations as they go.

The problem with this kind of system is that voice quality is contingentupon both the bandwidth of the connection to each user beingsufficiently large and the overall performance of the network beingabove a given threshold. This makes it difficult to guarantee anacceptable level of sound quality for all users at all times. There isalso a problem with echo caused by delays in digitally encoding speechfrom each user; this means that users hear their own voices repeatedafter a delay at the remote end(s) unless all users wear headphones.Finally some service providers are seeking to ban, limit or charge extrafor services which use demanding protocols such as RPC.

There are a number of audiographic standards which already exist tosupport the integration of telephony with shared computer applications.Most notable of these are the ITU's T.120, H.320, H.323 and H.324 seriesof recommendations which detail communication protocols appropriate foraudiographic teleconferencing. These allow services to be constructedwhich involve the integration of telephony with computer applicationsand facilitate features such as shared electronic whiteboards. The T.120standards are based on the premise that a client system will runsoftware which is capable of integrating computer and telephonyapplications together. The disadvantage of these systems is that eachclient system must possess and be capable of running software which iscompatible with the standard. System developers must also be familiarwith the Applications Programming Interfaces (APIs) upon which thesystem is based.

The issue of integration of communications services is discussed in “TheInternet Telephony Red Herring” by Colin Low, published in HewlettPackard Laboratories Technical Report dated June 1996, Palo Alto, US, atpages 1-15.

SUMMARY OF THE INVENTION

According to the present invention, there is provided a management andcontrol unit for a network-based conferencing system, the unitcomprising:

i) an interface for outputting control signals to a platform forestablishing audio connections across a network between users;

ii) an interface for receiving control signals from at least oneplatform for providing a graphical user interface to a user for use incontrolling the network-based conferencing system; and

iii) access to a database for maintaining, including updating,management data relating to one or more existing conferences

such that the management and control unit can receive control signalsinput by a user at the graphical user interface in respect of an audioconference, output control signals to the platform for establishingaudio connections, thereby establishing an audio conference connectionbetween the user and at least two other users over the network, andoutput management data to the graphical user interface during anexisting conference for use by the user in managing the conference.

Preferably the network is a telecommunications network while theinterface for receiving control signals is an interface to a datanetwork, such as the Internet. Preferred embodiments of the presentinvention can then enable users to enjoy high quality audio-conferencingwhich they can manage using a World Wide Web screen-based interface.Such embodiments can allow users to work on worldwide web based materialyet not require that they

i) set up calls via an operator,

ii) remember DTMF control codes,

iii) invest in new telephony hardware, or

iv) install specialist software.

The management and control unit can be supported by a server, such as aWeb server connected to the Internet, while the graphical user interfacemay be provided at a client, also connected to the Internet. Themanagement and control unit can then provide a powerful and veryversatile tool in providing audio-conferencing.

Audio conferencing systems according to preferred embodiments of thepresent invention can combine the ease of use of a GUI based systemwhilst also leveraging the reliable voice quality associated with thephone network. Such systems can impose minimum technical or cognitiverequirements on each user and preferably use established protocolswherever possible.

The system can allow anybody who has simultaneous access to an Internet(or similar) connection, to provide the graphical user interface, and aseparate directly diallable phone line to setup, control, record andclear down high quality audio conferences.

Preferably, the database is used to maintain updatable informationspecific to each user. This information can include for instance imagesof the users involved in a conference so that, whilst they are using thesystem, they can see annotated pictures of anybody else who isconnected.

Not only is there no need for users to remember control codes but theydo not need to know the phone number of other participants. Conferencescan be made private and users can change their outgoing telephone numberwhen they move from one location to another.

Although described in relation to the Internet, embodiments of thepresent invention would also be useful where connected to other networksin place of the Internet. Clearly, embodiments of the present inventionwould also be relevant where the user is connected to a less extensivenetwork than the Internet, or to a company “Intranet”.

Preferred embodiments of the present invention demonstrate tightintegration between software running on the client, the associated WWWserver, an audioconferencing platform and a database.

Embodiments of the present invention allow a World Wide Web (WWW) basedgraphical user interface (GUI) to control a telephony based audioconference. No additional software is necessary at the client and thesystem can be available to any user with a Transmission ControlProtocol/Internet Protocol (TCP/IP) connection to the Internet and aphone line.

The audio conferencing system can be linked with a Worldwide Web serverand its associated database.

In preferred embodiments, the system is capable of keeping track ofseveral parallel conferences each of which may involve several users.Each user can be shown the appropriate information detailing where theyare on the system as well as where others are; this information can beupdated whenever changes relating to a given user occur.

Each user can preferably control aspects of the system which they havethe privileges to change. This should preferably be done withoutcreating a conflict.

Finally the entire system is preferably designed so that users can bebilled appropriately and so that it is secure against fraudulent use.

BRIEF DESCRIPTION OF THE DRAWINGS

An audioconferencing system according to an embodiment of the presentinvention will now be described, by way of example only, with referenceto the accompanying Figures in which:

FIG. 1 shows a diagram of the system platform and its context;

FIG. 2 shows a schematic diagram of the server side architecture for thesystem shown in FIG. 1;

FIG. 3 shows a graphical user interface for use at a client browser forthe system of FIG. 1; and

FIGS. 4, 5, 6 and 7 show functional breakdowns of objects for use in anapplication residing on a server in a system as shown in FIG. 1.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Referring to FIG. 1, each user has a personal computer 100 with anInternet IP connection 105, and a web browser application which supportsHTML3.2 (or later), together with Frames and either Javascript orJscript. They must also have a separate telephony connection 110 with atelephone 115 which can be directly dialled. Possible networkconfigurations to support this include the use of

a) 2 Public Switched Telecommunications Network (PSTN) lines,

b) an Integrated Services Digital Network (ISDN) 2 connection where oneB channel is used for voice and the other for data, or

c) the combination of a Local Area Network (LAN) and Private BranchExchange (PBX) connection.

At the server end of the system, there is a Worldwide Web server 120which can dynamically produce HTML pages by Simple Query Language (SQL)based reference to a database 125. It can also write information to thedatabase 125.

The WWW server 120 is also connected via a RFC1006 socket levelconnection 220 to an Acculab Millenium CT (RTM) platform 135. This is aPC-based device, described in copending British patent applications9619958.3 filed on Sep. 25^(th), 1996 and 9707712.7 filed on Apr.16^(th), 1997 by the same application (and corresponding to U.S.application Ser. No. 09/029,615 filed Mar. 5, 1998), the contents ofwhich are incorporated herein by reference, which has a number ofcapabilities including the ability to set up, control and record audioconferences. Prior to its launch as a product it was known as MinorApplications Platform (MAP). The Millenium CT is connected between atelecommunications network, such as the Public SwitchedTelecommunications Network (PSTN), and a data network, such as theInternet. It accepts incoming service requests over the PSTN via anISDN30 connection 140. It can also accept incoming service requests inother ways, for instance via a RFC1006 socket level connection asmentioned above. In this case, the protocol will be implemented on bothsides of the socket level link. It also provides processing capacity andit can respond to an incoming call or message by identifying andlaunching an appropriate computing application which calls on andmanages resources to run the service requested.

The Millenium CT 135 is equipped with means for providing audio bridgesbetween conference participants, in the form of digital line interfacecards and controls therefor. Additionally, the Millenium CT providesspeech related resources, such as recording and delivery. It thereforecan provide facilities which are important in communicating with a userduring conference set-up and for recording.

For the purposes of the audioconferencing system however, any devicewhich can accept and send commands over a network connection and usethese commands to generate and record audio conferences could be used asan alternative to the Millenium CT. It should be noted there are also anumber of equivalent link protocols which could be used in substitutionfor ISDN30.

Server Software Architecture

The Server 120 may be any workstation with a WWW server and anobject-oriented development environment providing integrated databaseaccess. The system shown in FIG. 2, provides a “WebRex”™ WWW server 120,an “Oracle”™ database 125, and a “NextStep”™ operating system, and fourobjects.

Referring to FIG. 2, the server 120 supports an application comprisingfour objects. These objects 200, 205, 210, 215, are further describedbelow. Functions within the objects are called from other objects byname; the NextStep operating system automatically generates the messagesinterchanged between the objects in a manner similar to Remote ProcedureCalls (RPC).

The Application Object 200

This is linked into the WWW server 120 to provide a set of multiplyre-entrant, memory resident functions. These functions are called in anHTML request from the user and allow conferences to be set-up andmanaged using functions provided by the Millenium CT interface object205 (or MAP object).

The MAP Object 205

This receives requests from the application object 200 and controls theMillenium CT 135 by sending it commands and polling it for commands andfor responses to previously sent messages. The RFC1006 protocol (runningover TCP/IP) is implemented in the MAP object 205 and on the MilleniumCT 135 to provide a reliable peer-to-peer protocol for message passing.

As it may take some time (a few seconds) to process a request from theapplication object, the MAP object queues a request in aCONFERENCE-REQUEST database table (further discussed below under “TheDatabase”). An initial (HTML) response is sent back to the client,indicating that a request is being processed.

The MAP object 205 is implemented as an event driven state machine sincethe requests usually require a number of messages to be interchangedwith the Millenium CT. The state of the request is stored in theCONFERENCE REQUEST database table entry (further discussed below under“The Database”). The MAP object 205 polls the CONFERENCE-REQUEST tablefor user requests frequently (for instance once every 5 seconds). Once arequest is found, the command sequence is initiated by sending the firstcommand to the Millenium CT 135. The MAP object 205 polls the MilleniumCT 135 for a response at regular intervals (for instance once everysecond); once a response is received the MAP object 205 identifies whichconference the response refers to (from a conference number field in theresponse). It then determines the current state from the request storedin the

CONFERENCE REQUEST table and issues the next command to the Millenium CT135.

The messages sent to the Millenium CT 135 are:

Register Platform (establishes a TCP/IP connection)

Conference Registration (register or de-register a conference with theMillenium CT)

Call Dial (call a specified telephone number)

Mix all Participants (mix the calls into an audio conference)

Call Clear (remove caller from the conference)

Record Start (start recording the conference)

Record Stop (stop recording the conference)

Record Delete (delete the recording)

Record Save (save the recording to a file)

Playback Start (playback the recording from the beginning)

Playback Stop (stop the playback process)

and the commands returned by the Millenium CT 135 are:

Call clear (call cleared by remote party)

Record stop (stop recording the conference (run out of resources))

The Database Interface Object 210

This may more simply be called the Database object 210. It providesfunctions for use by the application and MAP objects 200, 205. Thefunctions store and retrieve information about the people who are usingthe system and the audio-conferences in an Oracle database 125. Thefunctions use embedded SQL.

The Heartbeat Object 215

This logs users out if it believes the user has closed down theirmeeting place window and left the system. This is further describedunder “The Heartbeat Process” below.

Millenium CT Application

In order to implement the setting up and management of a conference fromthe server, the Millenium CT 135 is provided with an application whichcan receive commands from the MAP object 205 and respond by supplyingthe functions required. These are for instance establishing audiobridges between the conference participants, delivering speech messages,such as “Please wait”, and recording and storing sound for later access.The form of such an application of course is adapted to receive andrespond to the messages set out above under “Millenium CT Object 205”,and this determines the functionality of the Millenium CT application.The application will be compatible with the operating system of theMillenium CT 135 which may for instance be UNIX but could be anotheroperating system.

The Database

The database 125 is used to store information about people using thesystem and about audio conferences. Any relational or object-orienteddatabase is sufficient though the present system uses an Oracle databaseaccessed using Simple Query Language. This is called from functions inthe application and Database objects 200, 210. Oracle sequences are usedto generate unique conference numbers.

The tables used in the Oracle database are as follows:

TABLE NAME FUNCTION CONFERENCE A queue of requests from users to takepart in an REQUEST audio conference CONFERENCE A list of all the currentconferences together with information on whether they are being recordedPERSON A list of the people who are in each conference CONFERENCEInformation about each person such as their login PERSON name, password,on-line status (1 = logged in, O = logged out), personal URL (see under“Sharing URLs” below), image and conference number (if in a conference).ADDRESS Contains each person's telephone number

Logging Onto the System

The database 125 holds information which includes the name, phone numberand image of each user who is registered with the system. A registereduser logs onto the system by starting up their browser 100 and thensubmitting a request for the system's access URL to the server 120.

Referring to FIG. 3, the user's browser 100 uses the javascript“OpenWindow” command to open up a main window as well as a smallersecondary window 300 which represents the ‘meeting-place’. Additionallythe on-line status field in the PERSON table in the database 125 is setto a value of 1 to indicate that they are logged in and their‘heartbeat’ is initiated (see under “The Heartbeat process” below) bysetting the heartbeat field in the PERSON table for this person to thecurrent time to initiate the heartbeat process.

The meeting-place window 300 consists of 4 frames. A column 305 on theleft shows a scrollable list of people who are logged on to the system.Beneath this, there is a very small frame 310 which is used to controlthe update process. In a right hand column, there is a main frame 315which provides details about either a person or a conference. Belowthis, there is a smaller frame 320 which contains controls for recordingthe conference, setting privacy or sharing URLs.

As soon as a user logs onto the system, they see the names of all otherusers who are logged on at that time as well as a list of the currentconferences and their participants in the form of a scrollable textlist. The application object 200 achieves this by retrieving a list ofthose who are in the CONFERENCE and PERSON CONFERENCE tables in thedatabase 125. It also gets a list of those who are logged on but not ina conference by looking at who has an on-line status of 1 in the PERSONtable.

Others will also see the new user's name as soon as their respectivemeeting-place windows 300 are updated. When the system starts up, usersare shown their own image together with the telephone number at whichthe system is currently programmed to dial them. All audio conferencestaking place on the system are given a two or three digit identifier(room number) when they are initiated to assist users in telling eachother where to rendezvous (the numbers are taken from a cycling rangefrom 01 to 999). The arrival of a new user online is indicated by thetemporary display of an indicator such as a coloured dot 335 adjacentthe name (or names) of anybody who is newly arrived (see the “Butler”process below) and by the updating of the meeting-place screen of eachuser.

(FIG. 3 shows “Andrew” twice. These are different people.)

Meeting-place User Interface

The Meeting-place User Interface appears as a window 300 generated by auser's web browser on their personal computer 100. FIG. 3 shows a pointwhere a user (Philip) has just clicked on the ‘ROOM 17’ link in thelogged-on frame 305. This causes the system to show images of Andrew andDebra who are currently talking in this room by accessing the tables inthe database 125. An icon 325 in the room frame 317 also shows that theconference is being recorded. User ‘Andrew’ has just logged onto thesystem so the Butler process is showing an indicator 335 adjacent to hisname. Selecting the ‘Enter Room 17’ button causes the system to call upPhilip's number and add him in to the conference.

Starting a Conference with Somebody who is Logged Onto the System

To find out about another user who is currently connected, the userclicks on the person's name. They are then shown a picture of the persontogether with a note of the dialback number of the nearest phone (see“Telephone Number Assignment and Mobility” below). There is also abutton which gives the user (henceforth called the “originator”) theoption to set-up a conference. Once pressed, the request to set-up aconference is sent to the server 120.

The server 120 queues the request in the CONFERENCE-REQUEST table. TheMAP object 205 subsequently retrieves the request from the table,creates entries in the CONFERENCE and PERSON-CONFERENCE tables, andinstructs the Millenium CT 135 to set-up the conference using thefollowing commands:

Conference Registration (register a conference with the Millenium CT)

Call Dial (to the originator)

Call Dial (to the other person)

Mix all Participants (mix the calls into an audio conference)

When the originator answers the call they are played a message tellingthem that an audio conference is being set up and asking them to wait.When the called person answers they too are given a message telling themthat a conference is being set up.

Once both parties have answered, the calls generated by the system areconnected together into a telephony based audio-conference and bothentries in the PERSON table are updated with the conference number. TheMAP object 205 updates the status field (to indicate success) in theCONFERENCE-REQUEST table in the database 125.

Whilst the conference is being established, the originator is shown ascreen of cycling dots (generated by an animated GIF graphic) askingthem to wait. Meanwhile a small secondary frame is reloaded using theclient-pull HTML construct (for instance every 5 seconds). When theserver receives a reload request, it inspects the status in theCONFERENCE-REQUEST table. If the status indicates the conference hasbeen set-up, it returns HTML to the updated frame which causes theentire layout of the window to be reloaded. This mechanism thus updatesthe meeting-place windows 300 of both people to show they are connectedin a conference and deletes the request from the CONFERENCE-REQUESTtable. All other people who are connected to the system also have theirmeeting-place windows updated to show that the conference is inprogress. This is achieved by updating the ‘dummy’ person entry in thePERSON table with the current time to indicate that the displays shouldbe updated (see “The Update Process” below for details).

Telephone Number Assignment and Mobility

In environments such as schools, users of the system may wish to log onfrom any one of a number of terminals. To prevent the user from havingto manually assign themselves the telephone number of the nearest phoneeach time they log on, this number is stored on the hard disk of eachclient machine. This can be achieved for instance by using a system suchas that known as the “Netscape Client-side Cookie”. This specifies thetelephone number for the machine as well as a text string describingwhere it is located, for example “Andrew's office”. When a userinitially logs on to the system, a Javascript function located in therooms frame of the meeting place will attempt to read any cookie whichhas previously been set by the system. If no cookie is found, or if apreviously set cookie has expired, the rooms frame in the meeting placewill inform the user that no telephone has been associated with themachine that they are using. (Note: cookies are set to have a fixedlife, for example one year, after which they expire.) The rooms framewill then invite the user to choose a telephone by selecting from apop-up menu of numbers which are allowable for that particular user.(This page is generated dynamically from information in the ADDRESStable in the database.)

Once a number has been selected from the menu, a cookie will be writtenwith the information and the frame will reload to show the user'spersonal information with their new dialback number.

During initial logon, if the system detects that a cookie has beenpreviously set, it will automatically assign the number from this cookieto the user for the duration of the session. Since the cookie settingactivity need only be done rarely, it is possible for a systemadministrator to tour all machines which will be used and set cookiesfor each one. In this way, the end user need never have to go throughthe above process.

From time to time, it may be necessary to move a computer from onelocation to another or to use a different telephone line with aparticular computer. In these circumstances, either a user or a systemadministrator can assess a “Phone number setting form” which containsJavascript code broadly similar to that mentioned above. The page has tobe manually invoked and occupies a main window of the browser in thiscase. When the page is loaded, the appropriate cookie is read, if thereis one, and the current number and location shown. The page alsocontains a popup menu of legal numbers which is assembled from thedatabase. If a new number is selected, then the existing cookie isoverwritten with the updated information. The page is also reloadedwhich causes the changed number and location to be shown.

Joining an Existing Conference

The user joins an existing conference by clicking on a text linkdenoting the conference's number. They are then shown the list ofparticipants in the conference. There is also a button which gives theperson the option to join the conference.

The server 120 queues the request in the CONFERENCE-REQUEST table. TheMAP object 205 subsequently retrieves the request from the table,creates a new entry in the PERSON-CONFERENCE table, and instructs theMillenium CT 135 to set-up the conference using the following commands:

Call Dial

Mix all Participants (mix the calls into an audio conference)

The system starts by making an outgoing call to the person. When theperson answers the call they are played a message telling them that theyare being added to the conference. Whilst the conference is beingestablished the person is shown a screen of cycling dots asking him orher to wait. Meanwhile a small secondary frame is reloaded using theclient pull HTML construct (for instance every 5 seconds). When theserver receives a reload request it inspects the status in theCONFERENCE-REQUEST table. If the status indicates that the conferencehas been established, it returns HTML to the updated frame which causesthe entire layout of the window to be reloaded. This mechanism thusupdates the meeting-place windows of both people to show they areconnected in a conference and deletes the request from theCONFERENCE-REQUEST table. After a short delay they are added in to theconference and the request is deleted from the CONFERENCE-REQUEST table.

The arrival of a new user in a conference is indicated with a shortauditory tone, by the temporary display of an indicator such as acoloured dot adjacent to the names of any users who are newly arrivedon-line (see the “Butler process” described below) and by the updatingof the meeting-place screen 300 of all users. Those users who are in theroom in question are shown an image of the person who has just joined.If they move their mouse cursor over this image they are shown theperson's name in the status bar of the window. Users may continue tojoin a conference until it has grown to the maximum size allowable bythe system (30 people in the embodiment being described here). Whenevermore than 8 people are present in the same conference the display ischanged to show only the names of users rather than their pictures.

Inviting Into a Conference

Users who are already in an established conference can choose to inviteother people who are logged on to the system to take part as well. Theydo this by clicking on the name of such a person in the logged-on frame(only the names of people who are not logged in to a conference areshown as active HTML links at this time). When the person's name isclicked, the user is shown a confirm message in the control frame. Ifthey confirm that they do indeed want to invite the person into theconference, the system will initiate a call to that person and try toadd them to the conference.

The commands to the Millenium CT under these circumstances are the sameas when someone joins a conference (see “Joining an ExistingConference”, above). Once the person has answered the phone, they areadded into the conference and the meeting-place window 300 is updatedfor all users.

Removing a Person from a Conference

From time to time, those already in a conference may invite another userto take part but in practice only reach the person's answering machineor voicemail. To recover from this situation, any of the otherconference participants may clear the call to the answering machine.They do this by clicking on the name of the “person” that they want toremove in the logged-on frame. This results in a confirmation dialoguewhich is shown in the control frame. If the action is confirmed, thesystem will clear the call to the answering machine and remove this“person” from the conference. The conference can then continue as normalwith the remaining participants.

The commands to the Millenium CT 135 under these circumstances are aswhen somebody leaves a conference. See “Ending a Conference” below.

Ending a Conference

Once created, a conference continues to exist as long as more than oneperson is in it. Users can leave a conference at any time by pressing abutton on the meeting-place window 300. When this happens, the MilleniumCT 135 is sent the “Call Clear” command to clear the call, causing theMillenium CT 135 to drop the phone connection. The meeting-place 300 isthen updated to show the person is no longer in the conference. This isachieved by updating the entry in the CONFERENCE table to indicate thatthe displays should be updated (see “The Update Process” below).

The Millenium CT 135 disconnects the last person if there is only asingle person left in a conference after someone has left. Once the lastperson has been disconnected, the MAP object sends a ‘conferenceregistration’ command to the Millenium CT 135 to de-register theconference. The meeting-place windows 300 of all users are then updated.

An alternative way of leaving a conference is for users to simply putdown their phone. In the current implementation of ISDN in the UK theMillenium CT 135 is not notified by the telephone exchange that a personhas cleared their call for 2 minutes. (After this time, the exchangesends a “call clear” DASS2 message to the Millenium CT.) A forthcomingmodification of the BT network to European ISDN (ETSI) standards shouldmean that the Millenium CT 135 will be able to detect cleared-down callsin the near future.

The Update Process

It is necessary to update the meeting-place window 300 of each user whois connected to the system whenever a significant event occurs. Theseevents are when:

A user comes on-line or is logged out (see next section)

A user enters or leaves an audio conference

A user shares a URL (see below)

A user starts or stops recording an audio-conference (see below)

When the conference privacy status is changed

When such an event happens, the time and date at which the eventoccurred is stored in the GROUPS table (for individual users) and in theCONFERENCE table (for conference related events).

The update process works by using the client-pull HTML construct fromwithin a small frame 310 in the meeting-place window 300. Every fewseconds (for instance every 15 seconds) this window is set to“update”.When the server 120 receives an update request from the update frame310, it compares the time and date when it last received an updaterequest from the update frame 310 for this user (this is called theheartbeat—see “The Heartbeat Process” below) with the time themeeting-place was last changed. If the information to be displayed haschanged since the last time, then a new version of the update page issent back. This includes a javascript function which stipulates that theother frames of the meeting-place 300 should be re-loaded as soon as theupdate frame is itself loaded (the OnLoad event handler is used), Theadvantage of this approach is that it does not increase traffic to theserver, load on the client or visual distraction for the user byreloading all the frames even when nothing applicable to that user haschanged. On the other hand it does not require multiple channels to bekept open for each user in the way that a protocol such as “server push”does.

The Heartbeat Process

The update requests are also used as a ‘heartbeat’ function which letsthe server know the user is still logged in (‘alive’). The Heartbeatobject 215 running on the server 120 polls the database 125 frequently(for instance every 30 seconds). If the heartbeat value in the PERSONtable for this user is over a minute old, the heartbeat object 215 deemsthat the user has closed down their meeting-place 300 and left thesystem. In such cases the user is logged out by updating their on-linestatus field in the PERSON table. That user will no longer appear asbeing on-line in other users' meeting-places.

Sharing URLs

When users are connected together in a conference they can share a URLwith each other. This may be useful for instance when a person wantsothers who they are talking with to see the same WWW page that they arelooking at. To share a URL, a user either manually types or copies andpastes the relevant text string into an HTML generated text box in thecontrol frame 320 of the meeting-place 300. The user then either pressesthe ‘return’ button or activates a ‘share URL’ button. This causes theURL to be associated with the user for the rest of the conference bystoring this URL in the PERSON table for that user. This is indicatedvisually in the meeting place window 300 of all conference participantsby showing a small graphic with the word ‘link’ beneath the image 330 ofthe sending user. This is achieved by updating the entry in theCONFERENCE table to indicate that the displays should be updated (see“The Update Process” above).

If the person stipulates a subsequent link during the course of the sameconference then the colour of the link graphic changes to show that anew link has been specified for that person (this is also stored in thePERSON table). Others in the conference can click on a link graphic tosee the associated URL opened up in a new window on their browser.

Recording a Conference

Users can choose to record a conference so that they can play it backlater. The originator's meeting-place 300 has an additional icon 325which allows them to record the conference. If the originator drops outof the conference leaving others talking, then the recording control ispassed to whoever has been in the conference for the next longest time.The idea behind this approach is to avoid conflicting requests forstarting and stopping a recording that may be generated if all usershave their own recording control.

Alternatively, all participants in a conference may have an icon whichallows them to record the conference. When a person presses the ‘startrecording’ button they are prompted to give the recording a name and totype this into a text entry box. (The recording has a separate,system-generated unique name so it is not mandatory that the user givethe recording a unique name).The user then submits the recording nameusing a button. A recording request is then queued with the server 120requesting that the conference be recorded. The MAP object 205 thensends the Millenium CT 135 the ‘Record Start’ message to start recordingthe conference. Whilst the recording is being initiated, the person isshown the screen of cycling dots asking them to wait. When the recordingis started the request is deleted from the CONFERENCE-REQUEST table. Thestart of the recording is indicated to the users with an auditory toneand a short voice announcement made to the conference. The recordingbutton in the person's meeting-place is replaced by an animated‘recording-in-progress’ icon (this is pressed again to stop recording).Other users are shown an animated icon indicating that a recording istaking place. This is achieved by updating the entry in the CONFERENCEtable to indicate that the displays should be updated (see “The UpdateProcess” above).

When the originator presses the ‘stop recording’ button, a confirmationdialogue appears in the control frame. If the user confirms that theywant to stop the recording, the system sends ‘Record Stop’ and ‘RecordSave’ messages to the Millenium CT 135. Once the recording has beensaved, the animated recording icon from the person's meeting-place 300is removed and replaced by the ‘start recording’ button—other users arealso now shown an icon indicating that no recording is taking place.This is achieved by updating the entry in the CONFERENCE table toindicate that the displays should be updated (see “The Update process”above). Subsequent parts of the conference may then be recorded ifdesired.

The MAP object 205 will automatically stop a recording if the lastperson leaves a conference and the originator has not specificallystopped the recording. The recording will still be saved in thesecircumstances.

The Millenium CT 135 stores the recording as a 64 Kbps PCM encodedspeech file. The file is subsequently converted and placed on the WWWserver where it can be listened to by the conference participants.Preferably, the file is converted into “RealAudio 3” format thusallowing long sound files to be heard without having to first downloadthe entire file to their computers.

Pages on the system can contain links to the RealAudio filesrepresenting previously recorded conversations. Since the system uses adatabase to build HTML pages dynamically it is possible to provide thelink to the sound file in the context of a page which indicates when therecording was made, who originated it, and who took part in it. This isachieved by storing this information in the database when the ‘RecordSave’ message is sent to the Millenium CT 135.

Making a Personal Recording

In addition to recording a conference it is possible to use the systemto record one's own voice only. This feature can be used for recordingvoice messages or for pronunciation exercises for example. Whenever auser is on line but not in a conference they have the option of clickingon the ‘Record’ button in the control frame of the meeting place. Whenthey do this they are prompted to give the recording a name and to typethis into a text entry box (the recording has a separate systemgenerated unique name so it is not mandatory that the recording be namedwith a unique identifier). Once a name has been submitted to the systeman outgoing call is initiated to the user's number and they are placedin a private (or “single user”) conference in which they are the onlyparticipant. As soon as the conference is set up the recording requestis automatically queued to the server. The MAP object 205 then sends theMillenium CT 135 the ‘Record Start’ message to start recording theconference. The user hears a voice announcement shortly after the startof the conference to tell them that recording has begun. They also areshown an animated ‘recording’ icon.

When the user has finished making their recording they can press theanimated recording button to stop the recording. This is achieved bysending the Millenium CT 135 a ‘Record Stop’ message. At this stage theyare shown a series of icons which allow them to play back, delete, orsave the recording. If they choose the ‘Play’ icon, the ‘Playback start’message is sent to the Millenium CT 135 and the recording is played backto the user over the phone connection from the beginning. Whilst this ishappening the play icon is replaced with an animated version. When therecording reaches the end of playback it loops to start from thebeginning again. If the user selects the animated play icon thenplayback stops. If the user selects ‘Save’ then the recording is savedto RealAudio format. This is achieved by sending the Millenium CT 135 a‘Save Recording’ message. If the user does not want to keep therecording they can select the ‘Delete’ icon which removes the recordingby sending the Millenium CT 135 a ‘Delete Recording’ message. If theuser leaves the private conference without saving their personalrecording then the recording will be saved automatically. After choosingto save or delete a recording the user may go on to make more recordingswhilst in the same conference

Privacy

The system aims to give users the greatest opportunity to see who elseis logged on to the system whilst also protecting people from unwantedinstrusion. This is done by allowing individuals to set their status as‘Do not disturb’ and by letting the originator of a conference set upits status as ‘Private’. The ‘Do not disturb’ status flag is stored inthe PERSON table for that user whilst the ‘Conference Privacy’ status isstored in the CONFERENCE table for that conference. If a personregisters themselves as ‘Do not disturb’ then others will have thisstatus explained to them when they click on the person's picture; theywill not be able to enter into a conference with that person. If aconference is private then other people will not be able to enter it andwill be shown that it is private when they ask for detail on it. Both“Do Not Disturb” and “Privacy” functions are implemented with togglingon/off controls.

Another privacy advantage of embodiments of the present invention isthat subscribers to a service need not disclose their phone number toother users—it is held on the database and used to dial calls to theuser but need not be visible directly to others.

The Sleep Function

One of the problems to be overcome with any virtual meeting-place isthat users may log on to the system and then leave their computers to gosomewhere else. This can lead to other users attempting to set-upconferences with them only to be confronted with answering machines.This problem can be solved as described above under “Removing a Personfrom a Conference” and this is the preferred method. However, anothersolution to this problem is to have the database 125 keep a record ofall page load requests which are made by a particular user (other thanregular meeting-place update requests). Each time such a request isreceived, a counter is reset. If the counter reaches a designated value(equivalent to, say, 10 minutes of elapsed ‘silence’ from the user) theuser will be designated as asleep. At this stage if another user clickson the “sleeping” person's name they will be shown a page in the mainframe 315 of the meeting-place 300 telling them that the other person isasleep. In such cases, users can manually dial the person or send thememail.

The meeting-place window 300 of the person who is designated as asleepchanges to tell them this. There is a button labelled ‘wake me up’ whichcan be pressed to restore the user's status to ‘awake’ on the system'sdatabase. They will then be able to initiate or be invited into audioconferences once more.

Handling Errors and Unusual States

Error messages are displayed to the user whenever an audio-conferencerequest (eg set-up a conference or leave a conference) fails. Therequest usually fails because the Millenium CT 135 has been unable tomake a call since the called party is either engaged, not answering, ortheir phone number is unavailable (NU). In such cases the Millenium CT135 indicates the reason for failure in the ‘Make Call’ response messagereturned to the MAP object 205. The MAP object 205 then sets the statusin the request in the CONFERENCE-REQUEST table to indicate the reasonfor failure. When the server 120 receives a reload request from theclient (that is currently displaying the cycling dots) it inspects thestatus in the request in CONFERENCE-REQUEST table. Upon finding that therequest has failed it returns an error page to the client 100 describingthe reason for failure. The user may then read this and return to themeeting-place 300 by clicking on a “continue” button. If they do not dothis the error page will automatically re-load the meeting-place 300after 30 seconds.

Billing

The system provides the opportunity to bill users on the basis ofsubscription, usage or some combination of the two. Since all audioconferencing telephone calls are outgoing from the Millenium CT platform135 it is possible to offer users a special tariff for exclusive usewith calls to other registered users. The charging structure for othergeneral calls which the user makes need not be adjusted.

The database stores a range of allowable dialback numbers for each user.This allows people to use the service from more than one location. Sinceusers are prevented from entering their own dialback numbers, which haveto be authorised by a system administrator, the potential for using thesystem fraudulently to obtain discounted telephone calls to anydestination is removed. The database records the name of each user whoinitiates an audioconference, the duration of that audioconference andthe names of people who took part in the conference, together with thelengths of time for which they took part. This data can be used tocharge the conference originator, the participants or both parties on atime basis. All such information is stored in the database 125 togetherwith time and date stamps. The database 125 records the time and date atwhich each user account is created or closed down. This information canbe used to facilitate subscription based charging.

The “Butler” Process

The butler process is intended to alert users whenever a new personcomes on line, for example by playing a sound such as a bell. At thispoint an indicator 335 (e.g. a coloured dot) is also shown adjacent tothe names of any newly arrived users in the frame 305 and the meetingplace window is brought to the front of the browser. The indicatorpersists until a new update takes place or for 2 minutes—whicheverperiod is shorter.

For each person's name that appears in the “logged on” frame of themeeting place a ‘registerUser’ javascript function is called in thelayout code for the meeting place window. This function adds the name ofthe user in question to an array. It also checks a ‘previous’ arraywhich contains a list of all those users who were present the last timethe logged on frame was loaded. If a particular name features in thecurrent list but not in the previous list then it is judged to be newand the function returns a ‘true’ value to the code in the logged onframe. This is what causes the indicator to be displayed by the name ofeach new user. Once all names in the logged_on frame have been‘registered’ in this way the ‘onLoad’ event for this frame is used tocall a second ‘butler’ function in the layout document. This simplychecks whether any items in the ‘current’ array are different from thosein the ‘previous’ array. If this is the case then a java applet iscalled in the ‘tools’ frame of the meeting place using the LiveConnectprotocol embedded in the browser. The function of this applet is simplyto play a sound of a designated name. In the case of the butler a ‘bell’sound is played by the client. The registerUser function increments avariable value each time it is called (starting from 0). Whenever thisvalue is less than 1 the function still adds the names to the currentarray but it does not display an indicator near a ‘new’ name, and thebutler function does not generate its bell sound. This is to avoid namesappearing as ‘new’ when the system is starting up.

Functional Breakdown of the Objects Supporting the System

Referring to “Server Software Architecture” above, four objectsinstalled at the server 120 support the functionality described above.These are the application, Millenium CT, database and Heartbeat objects200, 205, 210. 215. Functionally, these deal as described with differentaspects of the system.

Referring to FIG. 4, the application object 200 deals with theconference controls offered to the user by means of the meeting placescreen 300:

1 Login person 2 Display meeting place 2.1 Do updater 2.2 Displaylogged-on 2.3 Display room 2.3.1 Change telephone number 2.3.2 Startconference 2.3.3 Invite conference 2.3.4 Join conference 2.3.5 Leaveconference 2.3.6 Display error message 3 Display tools 3.1 Share URL 3.2Start recording 3.3 Stop recording

Referring to FIG. 5, the database object 210 deals with the interface tothe database 125:

 1 Create conference  2 Get conference-request  3 Createperson-conference  4 Update conference  5 Create conference-request  6Get person-conference  7 Update person-conference  8 Get conference  9Update conference request 10 Delete person conference 11 Deleteconference-request 12 Delete conference 13 Update person

Referring to FIG. 6, the MAP object 205 deals with the interface to theMillenium CT 135:

1 Poll conference request table 2 Start conference 3 Invite conference 4Poll Millenium CT 4.1 Record stop response received 4.2 Conferenceregistration response received 4.3 Record start response received 4.4Call clear command received 4.5 Mix all participants response received4.6 Call clear response received 4.7 Call dial response received 4.8Register platform response received 5 Leave conference 6 Join conference7 Start recording 8 Stop recording

Referring to FIG. 7, the Heartbeat object 215 simply deals withmonitoring an area of the database 125 and logging out usersappropriately:

1 Poll database 2 Log-out person

Potential Uses for the System

The system allows groups of people to talk to each other and achieve ashared view of information without requiring that participants eitherlearn a complex set of controls or invest in specialist equipment orsoftware at the client end. The equipment at the server end is notparticularly complex either and can be readily set up as part of a smallbusiness operation, company department or educational service forexample. The system is about providing a basis for conversation andinformation exchange—the exact nature of the conversation andinformation traded is not constrained so there might be a wide varietyof potential uses such as:

application as an educational tool—in particular for teaching languages

use by sales teams to encourage greater communication with clients

use by fan clubs to talk about ongoing or recent events such as footballmatches

application as part of a customer support system for a product orservice

use as a social meeting device

use within business as a method for helping geographically separatedgroups to collaborate

The system can be deployed either as a small scale set-up involving PCbased audio conferencing platforms such as the Millenium CT 135, or toprovide larger scale services on platforms such as the “integratedSpeech Applications Platform” (iSAP) which has been developed by BritishTelecommunications plc. In the case of deployment on a PC based audioconferencing platform such as the Millenium CT 135, the overall groupsize on any platform is generally limited to 60 users by the system'scapacity although a service can be spread over a bank of such platformsrunning in parallel. On the iSAP, the maximum size of an individualgroup would again tend to be 60 (limited by the capacity of each shelfon the iSAP) although a very much larger overall user group could becatered for.

Whatever the scale of the platform on which the audio conferencing takesplace it is possible to implement the service in such a way that morethan one separate group can share the same platform (or bank ofplatforms). Users in group A will see only the names of other users ingroup A—but not the names of users in group B or C for example. Thisseparation can be achieved entirely through partitioning into groups inthe database 125.

Whilst the system described above is based on standard PCs andtelephones, using separate connections for voice and data, it isenvisaged that the approach could be adapted to work equally effectivelyon systems where both datatypes were sent down the same line. This wouldinclude Internet based systems. The approach is also adaptable tosystems which use mobile telephony, which involve phones with built inweb browsers or which use a headset connected via the soundcard of a PCrather than a separate telephone.

Although the good audio quality provided by embodiments of the presentinvention is particularly attractive to the human user, there may beapplications in which there are no human users involved in a conferenceat all. For instance there may well be applications in which audioquality is still important but for the purpose of accuracy of recordingor of communication between a recording and a machine. Hence use of theterm “user” in this specification should not be taken as a limitation tohuman users alone.

It will be recognised that the software, the computing capabilities,described above can be distributed in different ways across suitableplatforms for supporting it. For instance, although managementcapabilities for conferencing are described as being predominatelyseparate from a Millenium CT platform, in practice many (or even all) ofthe capabilities may be provided within the domain of the Millenium CTsoftware. In this case, the conferencing management capabilities mightrun as applications which the Millenium CT itself triggers. However, formany scenarios it may be preferred that the conferencing software can beprovided separately from the platform for controlling a network. A smallbusiness user could then install the conference capability at relativelylow cost and access platform such as the Millenium CT only whenrequired.

What is claimed is:
 1. A management and control unit for a network-basedaudio conferencing system, the unit comprising: i) an input interface toa data network, for receiving control signals from at least one firstplatform for providing a graphical user interface to a user, for use incontrolling the network-based conferencing system; ii) an outputinterface for outputting control signals to a second platform forestablishing audio connections across a telecommunications network foruse in establishing audio conference connections between users; iii) aninterface for providing access to a database for maintaining, includingupdating, management data relating to one or more existing conferences;and iv) control means, said control means being arranged in use: a) torespond to a control signal received at the input interface in respectof a conference, to output one or more control signals to establish aconference connection; b) to output management data to the database inrespect of one or more existing conferences; c) to output managementdata from the database to the graphical user interface during said oneor more existing conferences for use by a user in managing theconference; and d) to proactively determine a status of a user on thebasis of time elapsed since receipt of a signal relating to that statusand, in the event that the magnitude of the time elapsed satisfies arespective trigger criterion indicative of a change in that status, toinclude in said management data output to the database an update to acorresponding status data field associated with that user to indicatethat change of status.
 2. A management and control unit as in claim 1,which further comprises said second platform for establishing audioconnections.
 3. A management and control unit as in claim 1 wherein theunit is provided on a server which is connected to a data network.
 4. Amanagement and control unit as in claim 3 wherein at least one of theinput and output interfaces is adapted to accommodate anInternet-compatible communication protocol.
 5. A management and controlunit as in claim 1 wherein the management data comprises aninterpretation table for interpreting between (a) identifiers forspecific users, said identifiers being selectable by a user at agraphical user interface, and (b) network locations for those specificusers in the network, such that a user can establish a conferenceconnection with another user by selecting the relevant identifier inplace of a network location.
 6. A management and control unit as inclaim 5 wherein the management data maintained in the database comprisesa set of network locations allocated to an identifier for a single user,and the management and control unit comprises means for selecting one ofthe network locations in response to selection of the identifier by auser at a graphical user interface.
 7. A management and control unit asin claim 5 wherein the unit further comprises authorising means forauthorising an input to the management data maintained in the databasewhere the input comprises a network location.
 8. A management andcontrol unit as in claim 5 wherein the network locations comprisetelephone numbers.
 9. A management and control unit as in claim 1 whichfurther comprises means for recording a conference.
 10. A management andcontrol unit as in claim 1, wherein the output management data to thegraphical user interface comprise alert data, in response to theaddition of a user to an existing conference, which alert data triggersthe graphical user interface to provide a generic indication that a newuser has joined the conference.
 11. A management and control unit as inclaim 1 which further comprises means for outputting an audible signalto a user.
 12. A management and control unit as in claim 1 which furthercomprises means for detecting an identifier for a platform for providinga graphical user interface to a user, on receipt of a control signalfrom such a platform, and for translating the identifier to a networklocation for a telecommunications terminal associated with saidplatform, for use in establishing a conference connection to saidnetwork location.
 13. A management and control unit according to claim 1wherein the update to the status data field indicates that the user islogged out with respect to the conference.
 14. A management and controlunit according to claim 13, the unit further comprising an outputinterface to a data network, for outputting data to each platformproviding a graphical user interface to a user logged in with respect tothe conference, wherein, in the event that a user is logged out, data isoutput to each such platform to remove an indication in the graphicaluser interface that the logged out user is online in respect of theconference.
 15. A management and control unit according to claim 1wherein the update to the status data field indicates that the user isasleep.
 16. A management and control unit according to claim 1 whereinthe signal relating to that status comprises a page load request.
 17. Amanagement and control unit as in claim 1, wherein the control meansdetermines a Sleep status of a user on the basis of time elapsed sincereceipt of a user-generated input signal from that user.
 18. Amanagement and control unit as in claim 1, wherein the control meansdetermines a Logged Off status of a user on the basis of time elapsedsince receipt of a terminal-generated input signal from that user'sterminal.
 19. A management and control unit for a network-based audioconferencing system, the unit comprising: i) an input interface to adata network, for receiving control signals from at least one firstplatform for providing a graphical user interface to a user, for use incontrolling the network-based conferencing system; ii) an outputinterface for outputting control signals to a second platform forestablishing audio connections across a telecommunications network foruse in establishing audio conference connections between users; iii) aninterface for providing access to a database for maintaining, includingupdating, management data relating to one or more existing conferences;and iv) control means, said control means being arranged in use: a) torespond to a control signal received at the input interface in respectof a conference, to output one or more control signals to establish aconference connection; b) to output management data to the database inrespect of one or more existing conferences; and c) to output managementdata from the database to the graphical user interface during said oneor more existing conferences for use by a user in managing theconference; and means for responding to an update request from aplatform for providing a graphical user interface to a user by reviewingwhether there has been a change to data determining a screen displayedat the graphical user interface and sending update data only in theevent that there has been such a change.
 20. A management and controlmethod for a network-based audio conferencing system, the methodcomprising: i) receiving control signals from at least one firstplatform for providing a graphical user interface to a user, for use incontrolling the network-based conferencing system; ii) outputtingcontrol signals to a second platform for establishing audio connectionsacross a telecommunications network for use in establishing audioconference connections between users; iii) providing access to adatabase for maintaining, including updating, management data relatingto one or more existing conferences; iv) responding to a receivedcontrol signal in respect of a conference, by outputting one or morecontrol signals to establish a conference connection; v) outputtingmanagement data to the database in respect of one or more existingconferences; vi) outputting management data from the database to thegraphical user interface during said one or more existing conferencesfor use by a user in managing the conference; and vii) proactivelydetermining a status of a user on the basis of time elapsed sincereceipt of a signal relating to that status and, in the event that themagnitude of the time elapsed satisfies a respective trigger criterionindicative of a change in that status, including in said management dataoutput to the database an update to a corresponding status data fieldassociated with that user to indicate that change of status.
 21. Amanagement and control method as in claim 20 further comprisingestablishing audio connections via said second platform.
 22. Amanagement and control method as in claim 20 wherein the method isimplemented on a server which is connected to a data network.
 23. Amanagement and control method as in claim 22 wherein anInternet-compatible communication protocol is accommodated.
 24. Amanagement and control method as in claim 20 wherein the management datacomprises an interpretation table for interpreting between (a)identifiers for specific users, said identifiers being selectable by auser at a graphical user interface, and (b) network locations for thosespecific users in the network, such that a user can establish aconference connection with another user by selecting the relevantidentifier in place of a network location.
 25. A management and controlmethod as in claim 24 wherein the management data maintained in thedatabase comprises a set of network locations allocated to an identifierfor a single user, and the method further comprises selecting one of thenetwork locations in response to selection of the identifier by a userat a graphical user interface.
 26. A management and control method as inclaim 24 wherein the method further comprises authorising input to themanagement data maintained in the database where the input comprises anetwork location.
 27. A management and control method as in claim 24wherein the network locations comprise telephone numbers.
 28. Amanagement and control method as in claim 20 which further comprisesrecording a conference.
 29. A management and control method as in claim20 wherein the output management data to the graphical user interfacecomprises alert data, in response to the addition of a user to anexisting conference, which alert data triggers the graphical userinterface to provide a generic indication that a new user has joined theconference.
 30. A management and control method as in claim 20 whichfurther comprises outputting an audible signal to a user.
 31. Amanagement and control method as in claim 20 which further comprisesdetecting an identifier for a platform for providing a graphical userinterface to a user, on receipt of a control signal from such aplatform, and translating the identifier to a network location for atelecommunications terminal associated with said platform, for use inestablishing a conference connection to said network location.
 32. Amanagement and control method as in claim 20 wherein the update to thestatus data field indicates that the user is logged out with respect tothe conference.
 33. A management and control method according to claim32, the method further comprising outputting data to each platformproviding a graphical user interface to a user logged in with respect tothe conference, wherein, in the event that a user is logged out, data isoutput to each such platform to remove an indication in the graphicaluser interface that the logged out user is online in respect of theconference.
 34. A management and control method according to claim 20wherein the update to the status data field indicates that the user isasleep.
 35. A management and control method according to claim 20wherein the signal relating to that status comprises a page loadrequest.
 36. A management and control method as in claim 20, whereindetermining the status of a user comprises determining a Sleep status ofa user on the basis of time elapsed since receipt of a user-generatedinput signal from that user.
 37. A management and control method as inclaim 20, wherein determining the status of a user comprises determininga Logged Off status of a user on the basis of time elapsed since receiptof a terminal-generated input signal from that user's terminal.
 38. Amanagement and control method for a network-based audio conferencingsystem, the method comprising: i) receiving control signals from atleast one first platform for providing a graphical user interface to auser, for use in controlling the network-based conferencing system; ii)outputting control signals to a second platform for establishing audioconnections across a telecommunications network for use in establishingaudio conference connections between users; iii) providing access to adatabase for maintaining, including updating, management data relatingto one or more existing conferences; iv) responding to a receivedcontrol signal in respect of a conference by outputting one or morecontrol signals to establish a conference connection; v) outputtingmanagement data to the database in respect of one or more existingconferences; and vi) outputting management data from the database to thegraphical user interface during said one or more existing conferencesfor use by a user in managing the conference; and vii) responding to anupdate request from a platform for providing a graphical user interfaceto a user by reviewing whether there has been a change to datadetermining a screen displayed at the graphical user interface andsending update data only in the event that there has been such a change.39. A management and control unit for a network-based audio conferencingsystem, the unit comprising: i) an input interface to a data network,for receiving control signals from at least one first platform forproviding a graphical user interface to a user, for use in controllingthe network-based conferencing system; ii) an output interface foroutputting control signals to a second platform for establishing audioconnections across a telecommunications network for use in establishingaudio conference connections between users; iii) an interface forproviding access to a database for maintaining, including updating,management data relating to one or more existing conferences; and iv) acontroller which: a) responds to a control signal received at the inputinterface in respect of a conference, to output one or more controlsignals to establish a conference connection; b) outputs management datato the database in respect of one or more existing conferences; c)outputs management data from the database to the graphical userinterface during said one or more existing conferences for use by a userin managing the conference; and d) proactively determines at least oneof a Sleep status and a Logged Off status on the basis of time elapsedsince receipt of at least one of user-generated and terminal-generatedinput signals from that user's terminal by determining whether themagnitude of the time elapsed satisfies a respective trigger criterionindicative of a change in at least one of the user's Sleep status andLogged Off status and includes in said management data output to thedatabase an update to a corresponding status data field associated withthat user to indicate that change of status.
 40. A management andcontrol method for a network-based audio conferencing system, the methodcomprising: i) receiving control signals from at least one firstplatform for providing a graphical user interface to a user, for use incontrolling the network-based conferencing system; ii) outputtingcontrol signals to a second platform for establishing audio connectionsacross a telecommunications network for use in establishing audioconference connections between users; iii) providing access to adatabase for maintaining, including updating, management data relatingto one or more existing conferences; iv) responding to a receivedcontrol signal in respect of a conference, by outputting one or morecontrol signals to establish a conference connection; v) outputtingmanagement data to the database in respect of one or more existingconferences; vi) outputting management data from th e database to thegraphical user interface during said one or more existing conferencesfor use by a user in managing the conference; and vii) proactivelydetermining and changing a status of a user in light of an absence ofsignals from that user's terminal.
 41. A method as in claim 40, whereinthe signals from the user's terminal comprise user-generated signalsresulting from the user's operation on the terminal.
 42. A method as inclaim 40, wherein the signals from the user's terminal compriseterminal-generated signals which are automatically and periodicallygenerated from the terminal and transmitted when the terminal is in aLogged On status.